package main

import "fmt"

// "fmt"


func main() {
    // 假设A为60 (0111100)，B为13(00001101)
    fmt.Printf("%b",13)                                                   //13                (00001101)
    fmt.Printf("%b",60)                                                   //60                (00111100)
    // & 二进制与操作副本位的结果，如果它存在于两个操作数                    (A & B) = 12, 也就是 0000 1100
    // | 二进制或操作副本，如果它存在一个操作数                              (A | B) = 61, 也就是 0011 1101
    // ^ 二进制异或操作副本，如果它被设置在一个操作数就是按位取非             (A ^ B) = 49, 也就是 0011 0001
    // &^  二进制位清空&^                                                  (A&^B)=48，   也就是   11 0000
    // << 二进制左移位运算符。左边的操作数的值向左移动由右操作数指定的位数     A << 2 =240  也就是 1111 0000
    // >> 二进制向右移位运算符。左边的操作数的值由右操作数指定的位数向右移动   A >> 2 = 15  也就是 0000 1111
}